package com.dingreading.cloud.mall.service;

import com.dingreading.cloud.mall.dto.GoodsTypeInfoDto;
import com.dingreading.cloud.mall.entity.GoodsType;
import com.mybatisflex.core.service.IService;

import java.util.List;

/**
 * 服务层。
 *
 * @author Administrator
 * @since 2023-11-22
 */
public interface GoodsTypeService extends IService<GoodsType> {

    List<GoodsTypeInfoDto> typeInfoListByGoodsIdAndEnabled(
            Long goodsId, Integer operationType, List<Integer> cooperationType, List<Long> subjectIdList
    );

    List<GoodsTypeInfoDto> typeInfoList(
            List<Long> goodsIdList, Integer operationType, List<Integer> cooperationType, List<Long> subjectIdList
    );

    GoodsType getByGoodsIdAndGoodsTypeId(Long goodsId, Long goodsTypeId);


    List<GoodsType> maxUnitPrice(
            List<Long> goodsIdList, Integer operationType, List<Integer> cooperationTypeList, List<Long> subjectIdList
    );
}
